<?php
App::uses('AppModel', 'Model');
/**
 * UnidadeEnsino Model
 *
 * @property UnidadeEnsino $UnidadeEnsino
 * @property TipoUnidadeEnsino $TipoUnidadeEnsino
 * @property Cidade $Cidade
 * @property UnidadeEnsinoCurso $UnidadeEnsinoCurso
 * @property UnidadeEnsino $UnidadeEnsino
 */
class UnidadeEnsino extends AppModel {

/**
 * Display field
 *
 * @var string
 */
	public $displayField = 'nome_reduzido';

/**
 * Validation rules
 *
 * @var array
 */
	public $validate = array(
                'nome_reduzido' => array(
			'notEmpty' => array(
				'rule' => array('notEmpty'),
				'message' => 'Preenchimento obrigatório.',
				//'allowEmpty' => false,
				//'required' => false,
				//'last' => false, // Stop validation after this rule
				//'on' => 'create', // Limit validation to 'create' or 'update' operations
			),
			'maxLength' => array(
				'rule' => array('maxLength', 30),
				'message' => 'O campo só pode conter o máximo de 30 caracteres.',
				//'allowEmpty' => false,
				//'required' => false,
				//'last' => false, // Stop validation after this rule
				//'on' => 'create', // Limit validation to 'create' or 'update' operations
			),
		),
		'nome' => array(
			'notEmpty' => array(
				'rule' => array('notEmpty'),
				'message' => 'Preenchimento obrigatório.',
				//'allowEmpty' => false,
				//'required' => false,
				//'last' => false, // Stop validation after this rule
				//'on' => 'create', // Limit validation to 'create' or 'update' operations
			),
			'maxLength' => array(
				'rule' => array('maxLength', 100),
				'message' => 'O campo só pode conter o máximo de 100 caracteres.',
				//'allowEmpty' => false,
				//'required' => false,
				//'last' => false, // Stop validation after this rule
				//'on' => 'create', // Limit validation to 'create' or 'update' operations
			),
		),
		'razao_social' => array(
			'maxLength' => array(
				'rule' => array('maxLength', 100),
				'message' => 'O campo só pode conter o máximo de 100 caracteres.',
				//'allowEmpty' => false,
				//'required' => false,
				//'last' => false, // Stop validation after this rule
				//'on' => 'create', // Limit validation to 'create' or 'update' operations
			),
		),
		'cnpj' => array(
			'maxLength' => array(
				'rule' => array('maxLength', 18),
				'message' => 'O campo só pode conter o máximo de 18 caracteres.',
				//'allowEmpty' => false,
				//'required' => false,
				//'last' => false, // Stop validation after this rule
				//'on' => 'create', // Limit validation to 'create' or 'update' operations
			),
                        'isUnique' => array(
				'rule' => array('isUnique'),
				'message' => 'CNPJ já cadastrado.',
				//'allowEmpty' => false,
				//'required' => false,
				//'last' => false, // Stop validation after this rule
				//'on' => 'create', // Limit validation to 'create' or 'update' operations
			),
		),
		'ie' => array(
			'maxLength' => array(
				'rule' => array('maxLength', 11),
				'message' => 'O campo só pode conter o máximo de 11 caracteres.',
				//'allowEmpty' => false,
				//'required' => false,
				//'last' => false, // Stop validation after this rule
				//'on' => 'create', // Limit validation to 'create' or 'update' operations
			),
		),
		'logradouro' => array(
			'maxLength' => array(
				'rule' => array('maxLength', 150),
				'message' => 'O campo só pode conter o máximo de 150 caracteres.',
				//'allowEmpty' => false,
				//'required' => false,
				//'last' => false, // Stop validation after this rule
				//'on' => 'create', // Limit validation to 'create' or 'update' operations
			),
		),
		'logradouro_nr' => array(
			'maxLength' => array(
				'rule' => array('maxLength', 6),
				'message' => 'O campo só pode conter o máximo de 6 caracteres.',
				//'allowEmpty' => false,
				//'required' => false,
				//'last' => false, // Stop validation after this rule
				//'on' => 'create', // Limit validation to 'create' or 'update' operations
			),
		),
		'logradouro_complemento' => array(
			'maxLength' => array(
				'rule' => array('maxLength', 100),
				'message' => 'O campo só pode conter o máximo de 100 caracteres.',
				//'allowEmpty' => false,
				//'required' => false,
				//'last' => false, // Stop validation after this rule
				//'on' => 'create', // Limit validation to 'create' or 'update' operations
			),
		),
                'bairro' => array(
                        'notEmpty' => array(
				'rule' => array('notEmpty'),
				'message' => 'Preenchimento obrigatório.',
				//'allowEmpty' => false,
				//'required' => false,
				//'last' => false, // Stop validation after this rule
				//'on' => 'create', // Limit validation to 'create' or 'update' operations
			),
			'maxLength' => array(
				'rule' => array('maxLength', 45),
				'message' => 'O campo só pode conter o máximo de 45 caracteres.',
				//'allowEmpty' => false,
				//'required' => false,
				//'last' => false, // Stop validation after this rule
				//'on' => 'create', // Limit validation to 'create' or 'update' operations
			),
		),
		'cep' => array(
			'maxLength' => array(
				'rule' => array('maxLength', 10),
				'message' => 'O campo só pode conter o máximo de 10 caracteres.',
				//'allowEmpty' => false,
				//'required' => false,
				//'last' => false, // Stop validation after this rule
				//'on' => 'create', // Limit validation to 'create' or 'update' operations
			),
		),
		'responsavel' => array(
			'maxLength' => array(
				'rule' => array('maxLength', 100),
				'message' => 'O campo só pode conter o máximo de 100 caracteres.',
				//'allowEmpty' => false,
				//'required' => false,
				//'last' => false, // Stop validation after this rule
				//'on' => 'create', // Limit validation to 'create' or 'update' operations
			),
		),
                'telefone' => array(
			'maxLength' => array(
				'rule' => array('maxLength', 14),
				'message' => 'O campo só pode conter o máximo de 14 caracteres.',
				//'allowEmpty' => false,
				//'required' => false,
				//'last' => false, // Stop validation after this rule
				//'on' => 'create', // Limit validation to 'create' or 'update' operations
			),
		),
		'observacao' => array(
			'maxLength' => array(
				'rule' => array('maxLength', 150),
				'message' => 'O campo só pode conter o máximo de 150 caracteres.',
				//'allowEmpty' => false,
				//'required' => false,
				//'last' => false, // Stop validation after this rule
				//'on' => 'create', // Limit validation to 'create' or 'update' operations
			),
		),
		'logomarca' => array(
			'maxLength' => array(
				'rule' => array('maxLength', 45),
				'message' => 'O campo só pode conter o máximo de 45 caracteres.',
				//'allowEmpty' => false,
				//'required' => false,
				//'last' => false, // Stop validation after this rule
				//'on' => 'create', // Limit validation to 'create' or 'update' operations
			),
		),
		'lei' => array(
			'maxLength' => array(
				'rule' => array('maxLength', 200),
				'message' => 'O campo só pode conter o máximo de 200 caracteres.',
				//'allowEmpty' => false,
				//'required' => false,
				//'last' => false, // Stop validation after this rule
				//'on' => 'create', // Limit validation to 'create' or 'update' operations
			),
		),
		'media' => array(
			'decimal' => array(
				'rule' => array('decimal'),
				'message' => 'O campo deve ser preeenchido em formato decimal.',
				//'allowEmpty' => false,
				//'required' => false,
				//'last' => false, // Stop validation after this rule
				//'on' => 'create', // Limit validation to 'create' or 'update' operations
			),
		),
		'ativa' => array(
			'notEmpty' => array(
				'rule' => array('notEmpty'),
				'message' => 'Preenchimento obrigatório.',
				//'allowEmpty' => false,
				//'required' => false,
				//'last' => false, // Stop validation after this rule
				//'on' => 'create', // Limit validation to 'create' or 'update' operations
			),
		),
	);

	//The Associations below have been created with all possible keys, those that are not needed can be removed

/**
 * belongsTo associations
 *
 * @var array
 */
	public $belongsTo = array(
		'UnidadePai' => array(
			'className' => 'UnidadeEnsino',
			'foreignKey' => 'unidade_ensino_id',
			'conditions' => '',
			'fields' => '',
			'order' => ''
		),
		'TipoUnidadeEnsino' => array(
			'className' => 'TipoUnidadeEnsino',
			'foreignKey' => 'tipo_unidade_ensino_id',
			'conditions' => '',
			'fields' => '',
			'order' => ''
		),
		'Cidade' => array(
			'className' => 'Cidade',
			'foreignKey' => 'cidade_id',
			'conditions' => '',
			'fields' => '',
			'order' => ''
		)
	);

/**
 * hasMany associations
 *
 * @var array
 */
	public $hasMany = array(
		'UnidadeEnsinoCurso' => array(
			'className' => 'UnidadeEnsinoCurso',
			'foreignKey' => 'unidade_ensino_id',
			'dependent' => false,
			'conditions' => '',
			'fields' => '',
			'order' => '',
			'limit' => '',
			'offset' => '',
			'exclusive' => '',
			'finderQuery' => '',
			'counterQuery' => ''
		),
		'UnidadeFilha' => array(
			'className' => 'UnidadeEnsino',
			'foreignKey' => 'unidade_ensino_id',
			'dependent' => false,
			'conditions' => '',
			'fields' => '',
			'order' => '',
			'limit' => '',
			'offset' => '',
			'exclusive' => '',
			'finderQuery' => '',
			'counterQuery' => ''
		)
	);

}
